其實我本來想做專屬自己的 fine-tuned model,但後來考慮到不是每個人都有資料集就想說算了,我們乖乖 fine-tune 中文版的語音模型就好
接著昨天講的,環境的部分已經設置好,現在到 Load Dataset 的地方
這邊記得上面的 notebook_login()
要先登入才能下載 huggingface 上面的 Datasets
from datasets import load_dataset, DatasetDict
common_voice = DatasetDict()
common_voice["train"] = load_dataset("mozilla-foundation/common_voice_11_0", "zh-TW", split="train+validation", use_auth_token=True)
common_voice["test"] = load_dataset("mozilla-foundation/common_voice_11_0", "zh-TW", split="test", use_auth_token=True)
# Remove useless columns
common_voice = common_voice.remove_columns(["accent", "age", "client_id", "down_votes", "gender", "locale", "path", "segment", "up_votes"])
print(common_voice)
記得中間有個 hi
的地方,我有改成 zh-TW
印出來的結果應該會長成:
DatasetDict({
train: Dataset({
features: ['audio', 'sentence'],
num_rows: 11277
})
test: Dataset({
features: ['audio', 'sentence'],
num_rows: 4709
})
})
進一步觀察
common_voice['train'][0]
可以得到
{'audio': {'path': '/root/.cache/huggingface/datasets/downloads/extracted/51e978c47798482641ccccdcb8d659ea097ecfb24e17f8cacf723f3d1da59cd5/zh-TW_train_0/common_voice_zh-TW_17626464.mp3',
'array': array([ 0.00000000e+00, -6.27062811e-15, -6.86393445e-15, ...,
2.13285966e-06, 1.94480162e-06, -4.87215766e-06]),
'sampling_rate': 48000},
'sentence': '我們一起享用'}
這邊想提一下 dataset 格式,把原本有 train, test 的 common_voice 拆解後裡面其中一條資料會長成上面的樣子
類似這感覺,換句話說如果我們想要用自己的資料集來 fine-tuned 的話,只要把格式調整成跟上面一樣就可以了
剩下的放到明天說!
結果開始打程式之後就挺順的呢